package com.tsd.jxc.fin.dao;

import com.tsd.common.vo.BatchDeleteLogicVo;
import com.tsd.core.vo.PageBean;
import com.tsd.jxc.fin.entity.JxcFinanceAccountDetail;
import com.tsd.jxc.fin.entity.JxcFinanceAccountDetailExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：JxcFinanceAccountDetailMapper
 *
 * @author Hillpool
 * @date 2022/09/01 16:14:28
 */
public interface JxcFinanceAccountDetailMapper {

    JxcFinanceAccountDetail selectByPrimaryKey(Long id);

    JxcFinanceAccountDetailExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcFinanceAccountDetail record);

    int insertSelective(JxcFinanceAccountDetail record);

    int insertList(@Param("list") List<JxcFinanceAccountDetailExt> list);

    int updateByPrimaryKey(JxcFinanceAccountDetail record);

    int updateByPrimaryKeySelective(JxcFinanceAccountDetail record);

    int updateList(@Param("list") List<JxcFinanceAccountDetailExt> list);

    List<JxcFinanceAccountDetailExt> selectByEntity(JxcFinanceAccountDetailExt record);

    List<JxcFinanceAccountDetailExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcFinanceAccountDetailExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcFinanceAccountDetailExt> selectByParams(@Param("params") Map<String, Object> params);

    JxcFinanceAccountDetailExt selectDuplicatedCode(JxcFinanceAccountDetailExt record);

    int deleteLogicBySidList(BatchDeleteLogicVo logicVo);

    List<JxcFinanceAccountDetailExt> select4CheckByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);
}